﻿// using UnityEngine;
// using UnityEditor;
// using System.Collections;
// using System.Collections.Generic;
// using TTGame;
// using System;
//
// /*
//  * DebugSettingEditor
//  *
//  *
//  *
//  * 依赖：
//  *
//  * ！不写重复代码！
//  * @author TTun
//  * @date 7/25/2017 8:06:06 PM
//  */
// [CustomEditor(typeof(DebugSetting))]
// public class DebugSettingEditor : Editor {
//     private SerializedObject scriptObj;
//     private DebugSetting obj;
//
//     SerializedProperty[] flags;
//
//     void OnEnable() {
//         scriptObj = new SerializedObject(target);
//         obj = target as DebugSetting;
//
//         flags = new SerializedProperty[obj.Flags.Count];
//         int i = 0;
//         foreach(string name in obj.Flags.Keys) {
//             flags[i] = scriptObj.FindProperty(name);
//             i++;
//         }
//     }
//
//     public override void OnInspectorGUI() {
//
//         scriptObj.Update();
//         for(int i = 0; i < flags.Length; i++) {
//             SerializedProperty flagProp = flags[i];
//             bool oldValue = flagProp.boolValue;
//             EditorGUILayout.PropertyField(flagProp);
//             bool newValue = flagProp.boolValue;
//             if(oldValue != newValue) {
//                 Action<bool> setFunc = obj.Flags[flagProp.name];
//                 if(setFunc != null) {
//                     setFunc(newValue);
//                 }
//             }
//         }
//
//         scriptObj.ApplyModifiedProperties();
//     }
// }